#!/bin/bash

# Docker容器启动脚本

set -e

echo "=== 会议视频文字自动记录系统启动 ==="

# 检查环境变量
if [ -z "$PYTHONPATH" ]; then
    export PYTHONPATH=/app
fi

# 等待Redis服务启动
echo "等待Redis服务启动..."
while ! nc -z redis 6379; do
    sleep 1
done
echo "Redis服务已启动"

# 检查必要的目录
echo "检查目录结构..."
mkdir -p /app/data /app/logs /app/models /app/temp /app/exports /app/uploads

# 检查配置文件
if [ ! -f "/app/config/config.yaml" ]; then
    echo "警告: 配置文件不存在，使用默认配置"
fi

# 检查模型文件
echo "检查模型文件..."
if [ ! -f "/app/models/yolov8s.onnx" ]; then
    echo "警告: YOLOv8模型文件不存在"
    echo "请将模型文件放置在 /app/models/ 目录下"
fi

# 初始化数据库（如果需要）
echo "初始化数据库..."
python -c "
from src.storage.database import DatabaseManager
try:
    db = DatabaseManager()
    print('数据库初始化成功')
except Exception as e:
    print(f'数据库初始化失败: {e}')
"

# 设置日志级别
if [ -n "$LOG_LEVEL" ]; then
    echo "设置日志级别: $LOG_LEVEL"
fi

echo "=== 启动应用服务 ==="

# 执行传入的命令
exec "$@"
